//构造函数的目的是所有构造出的对象，可以使用相同的函数
function User(name) {
  this.name = name
  //构造函数的目的创建出新的对象
  //return { name: name }
  //return this
}
// console.log(User.prototype.constructor)
User.store = function () {
  console.log(`store ${this.name}`)
}

User.prototype = {
  constructor: User,
  make() {
    console.log(this.name)
  },
  run() {
    console.log(`create a user ${this.name}`)
  },
  store() {
    return this.__proto__.constructor.store.call(this)
  },
}

//构造函数
let lisi = new User('李四')
lisi.store()
// console.log(lisi.__proto__ == User.prototype)

// let lisi = { name: '李四' }
// console.log(lisi)
// lisi.make = function () {
//   console.log('lisi method')
// }
// lisi.make()
let tom = new User('tom')
// tom.make()
